home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGNG_C / CUG187.LZH / SETDTA.C < prev    next >
C/C++ Source or Header  |  1986-02-21  |  1KB  |  27 lines

  1. /*@*****************************************************/
  2. /*@                                                    */
  3. /*@ setdta - set a new DOS DTA buffer.                 */
  4. /*@                                                    */
  5. /*@   Usage:     setdta(buffer);                       */
  6. /*@         where buffer is a buffer becomes the DTA.  */
  7. /*@                                                    */
  8. /*@       returns zero.                                */
  9. /*@                                                    */
  10. /*@       NOTE: buffer must be at least 44 bytes long. */
  11. /*@       NOTE: buffer must not cross a segment.       */
  12. /*@                                                    */
  13. /*@*****************************************************/
  14.  
  15. extern unsigned _rax, _rbx, _rcx, _rdx, _rsi, _rdi, _res, _rds;
  16. extern char _carryf, _zerof;
  17.  
  18. setdta(newdta)
  19. char *newdta;
  20. {
  21.     _rax = 0x1a00;            /* set DTA DOS function */
  22.     _rdx = newdta;            /* offset to DTA */
  23.     _rds = _showds();        /* current DS segment */
  24.     _doint(0x21);            /* call DOS */
  25.     return 0;
  26. }
  27.